From Event-B Models to Dafny Code Contracts

نویسندگان

  • Mohammadsadegh Dalvandi
  • Michael J. Butler
  • Abdolbaghi Rezazadeh
چکیده

The constructive approach to software correctness aims at formal modelling and verification of the structure and behaviour of a system in different levels of abstraction. In contrast, the analytical approach to software verification focuses on code level correctness and its verification. Therefore it would seem that the constructive and analytical approaches should complement each other well. To demonstrate this idea we present a case for linking two existing verification methods, Event-B (constructive) and Dafny (analytical). This approach combines the power of Event-B abstraction and its stepwise refinement with the verification capabilities of Dafny. We presented a small case study to demonstrate this approach and outline of the rules for transforming Event-B events to Dafny contracts. Finally, a tool for automatic generation of Dafny contracts from Event-B formal models is presented.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Transforming Event-B Models to Dafny Contracts

Our work aims to build a bridge between constructive (top-down) and analytical (bottom-up) approaches to software verification. This paper presents a tool-supported method for linking two existing verification methods: Event-B (constructive) and Dafny (analytical). This method combines Event-B abstraction and refinement with the code-level verification features of Dafny. The link transforms Eve...

متن کامل

IDENTIFICATION OF REASONS FOR CLAIMS OF CONTRACTORS IN D-B-B CONTRACTS AND EVALUATION BY MULTI-CRITERIA DECISION-MAKING MODELS (AHP)

The increasing complexity of construction, along with its rapid development, as well as ambiguities and gaps in the legal terms governing constructions, lack of trust in the parties regarding obligations and regulations are the main reasons of disagreements in domestic projects. These disagreements are inevitable even in contracts which are set correctly. Disagreements are costly, time-consumin...

متن کامل

Dafny Meets the Verification Benchmarks Challenge

A suite of verification benchmarks for software verification tools and techniques, presented at VSTTE 2008 [11], provides an initial catalogue of benchmark challenges for the Verified Software Initiative. This paper presents solutions to these eight benchmarks using the language and verifier Dafny. A Dafny program includes specifications, code, inductive invariants, and termination metrics. Eac...

متن کامل

Realizing Change-Driven Consistency for Component Code, Architectural Models, and Contracts in Vitruvius

During the development of component-based software systems, it is often impractical or even impossible to include all development information into the source code. Instead, specialized languages are used to describe components and systems on different levels of abstraction or from different viewpoints: Component-based architecture models and contracts, for example, can be used to describe the s...

متن کامل

Dafny: Statically Verifying Functional Correctness

This report presents the Dafny language and verifier, with a focus on describing the main features of the language, including preand postconditions, assertions, loop invariants, termination metrics, quantifiers, predicates and frames. Examples of Dafny code are provided to illustrate the use of each feature, and an overview of how Dafny translates programming code into a mathematical proof of f...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015